<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    <h:head>
        <title>Gerenciar Alunos</title>
    </h:head>
    <h:body>
        <h:form id="form">
            <p:panel header="Aluno">
                <p:messages />
                <h:panelGrid columns="2">
                    <h:outputLabel value="Nome: " for="nome"/>
                    <p:inputText id="nome" label="nome" value="#{alunoController.user.nome}"/>
                    
                    <h:outputLabel value="Email: " for="email"/>
                    <p:inputText id="email" label="email" value="#{alunoController.user.email}"/>
                    
                    <h:outputLabel value="Senha: " for="senha"/>
                    <p:inputText id="senha" label="senha" value="#{alunoController.user.senha}"/>
                    
                    <h:outputLabel value="Matricula: " for="matricula"/>
                    <p:inputText id="matricula" label="matr" value="#{alunoController.aluno.matricula}"/>
                    
                    <h:outputLabel value="Periodo: " for="periodo"/>
                    <p:inputText id="periodo" label="periodo" value="#{alunoController.aluno.periodo}"/>
                    
                    <h:outputLabel value="Curso: " for="curso"/>
                    <p:inputText id="curso" label="curso" value="#{alunoController.aluno.curso}"/>
                    
                    <p:commandButton id="btnSalvar" value="Cadastrar Aluno" 
                                     actionListener="#{alunoController.criaAluno()}" update="form" />
                </h:panelGrid>
                <p:dataTable id="tabela" value="#{alunoController.alunosList}" var="alunos" emptyMessage="Nenhum Aluno Cadastrado">
                    <f:facet name="header">
                        Lista de Alunos
                    </f:facet>
                    <p:column headerText="Id" style="text-align: center">
                        <h:outputText value="#{alunos.usuario.userId}"/>
                    </p:column>
                    <p:column headerText="Matrícula" style="text-align: center">
                        <h:outputText value="#{alunos.matricula}"/>
                    </p:column>
                    <p:column headerText="Nome" style="text-align: center">
                        <h:outputText value="#{alunos.usuario.nome}"/>
                    </p:column>
                    <p:column headerText="Email" style="text-align: center">
                        <h:outputText value="#{alunos.usuario.email}"/>
                    </p:column>
                    <p:column headerText="Data de Cadastro" style="text-align: center">
                        <h:outputText value="#{alunos.usuario.dataCadastro}"/>
                    </p:column>
                    <p:column headerText="Última Modificação" style="text-align: center">
                        <h:outputText value="#{alunos.usuario.dataModificado}"/>
                    </p:column>
                    <p:column headerText="Curso" style="text-align: center">
                        <h:outputText value="#{alunos.curso}"/>
                    </p:column>
                    <p:column headerText="Periodo" style="text-align: center">
                        <h:outputText value="#{alunos.periodo}"/>
                    </p:column>
                    <p:column headerText="Editar - Excluir"  >                 
                        <p:commandLink title="Alterar" update=":formAlterar:Alterar" oncomplete="dialogAlterar.show()" immediate="true" value="Alterar">
                            <f:setPropertyActionListener target="#{alunoController.aluno}" value="#{alunos}"/>                            
                        </p:commandLink>
                        <p:commandButton action="#{alunoController.deletaAluno()}" value="Excluir" title="Editar" ajax="false" update="form" >                        
                            <f:setPropertyActionListener value="#{alunos}" target="#{alunoController.aluno}" />
                        </p:commandButton>
                    </p:column>
                </p:dataTable>        
            </p:panel>
        </h:form>
        <h:form id="formAlterar">
            <p:dialog header="Alterar" widgetVar="dialogAlterar" modal="true"
                id="Alterar">
                    <h:panelGrid columns="2">
                    <h:outputLabel value="Nome: " for="nome"/>
                    <p:inputText id="nome" label="nome" value="#{alunoController.aluno.usuario.nome}"/>
                    
                    <h:outputLabel value="Email: " for="email"/>
                    <p:inputText id="email" label="email" value="#{alunoController.aluno.usuario.email}"/>
                    
                    <h:outputLabel value="Senha: " for="senha"/>
                    <p:inputText id="senha" label="senha" value="#{alunoController.aluno.usuario.senha}"/>
                    
                    <h:outputLabel value="Matricula: " for="matricula"/>
                    <p:inputText id="matricula" label="matr" value="#{alunoController.aluno.matricula}"/>
                    
                    <h:outputLabel value="Periodo: " for="periodo"/>
                    <p:inputText id="periodo" label="periodo" value="#{alunoController.aluno.periodo}"/>
                    
                    <h:outputLabel value="Curso: " for="curso"/>
                    <p:inputText id="curso" label="curso" value="#{alunoController.aluno.curso}"/>
                    
                </h:panelGrid>
                    <p:commandButton id="btnEditar" value="Editar Aluno" 
                                     actionListener="#{alunoController.editaAluno()}" update=":form:tabela"
                                     oncomplete="dialogAlterar.hide()"/>
            </p:dialog>
        </h:form>
    </h:body>
</html>